package cn.demoncat.util.web.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 异步执行器线程池配置属性
 *
 * @author 延晓磊
 *
 * @since 2017年7月23日
 */
@Data
@Component
@ConfigurationProperties(prefix="demoncat.async.executor.thread-pool")
public class AsyncExecutorProperties {
 
	/**
	 * 核心线程数
	 */
	private Integer corePoolSize = 10;

	/**
	 * 最大线程数：默认超过最大线程数且队列满时，将不会接收任务并抛异常；总共可选四种策略。
	 */
	private Integer maxPoolSize = 30;
	
	/**
	 * 任务队列容量
	 * 核心线程数用满后，新任务会放进queue里，如果queue也占满后，线程池就会创建新线程来处理此任务
	 */
	private Integer queueCapacity = 50;

}
